﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using BoutiquePOS.DAL.DAO;
using BoutiquePOS.DAL.Gateway;

namespace BoutiquePOS.Manager
{  
    public class ProductCategoryManager
    {
         ProductCategoryGateway productCategoryGateway=new ProductCategoryGateway();

         public string SaveProductCategory(ProductCategory productCategory)
         {
             if (!DoesThisProductCategoryExist(productCategory))
                 return productCategoryGateway.SaveProductCategory(productCategory);
             else
             {
                 return "This Product Category Already Exists";
             }
         }

         private bool DoesThisProductCategoryExist(ProductCategory productCategory)
         {
             List<ProductCategory> productCategories = new List<ProductCategory>();
             productCategories = productCategoryGateway.GetAllProductCategory();

             foreach (ProductCategory productCategoryObj in productCategories)
             {
                 if (productCategoryObj.CategoryName == productCategory.CategoryName)
                     return true;
             }
             return false;
         }

         public List<ProductCategory> GetAllProductCategory()
         {
             return productCategoryGateway.GetAllProductCategory();
         }

         public string DeleteProductCategory(int CategoryId)
         {
             string message = productCategoryGateway.DeleteCategoryById(CategoryId);
             return message;
         }
         public List<ProductCategory> GetAllCategoryByIdOrName(int i, string Id)
         {
             return productCategoryGateway.GetAllCategoryByIdOrName(i, Id);
         }
    }
}